An MRAM is a non-volatile memory capable of a write/read operation at a high speed, and the research and development towards practical use has been carried out in recent years.
Generally, in the MRAM, a magneto-resistance element is used for a memory cell. The magneto-resistance element is composed of a magnetization free layer whose magnetization can be reversed, a magnetization pinned layer whose magnetization is pinned, and a non-magnetic layer formed between them. A data is stored as an orientation of the magnetization in the magnetization free layer. When the non-magnetic layer is formed from a very thin insulating film, the magneto-resistance element exhibits a TMR (Tunnel Magneto-Resistance) effect. The magneto-resistance element having such configuration is often referred to as an MTJ (Magnetic Tunnel Junction) element. On the other hand, when the non-magnetic layer is formed of a non-magnetic conductor, the magneto-resistance element exhibits a GMR (Giant Magneto-Resistive) effect. The magneto-resistance element having such configuration is referred to as a CPP-GMR (Current Perpendicular to Plane Giant Magneto-Resistive) element.
The write operation of the data is generally carried out by supplying write currents to a word line and a bit line, which are laid near a memory cell, to apply a magnetic field to the magnetization free layer, and reversing the magnetization of the magnetization free layer to a desirable direction.
On the other hand, when the data is read, the magneto-resistance effect exhibited by the magneto-resistance element is used. When any of the TMR effect and the GMR effect is used, the resistance of the memory cell varies on the basis of the magnetization orientation of the magnetization free layer. This change in the resistance of the memory cell appears as the change in a current flowing through the memory cell or the change in a voltage drop generated in the memory cell. This change in the current flowing through the memory cell or the voltage drop generated in the memory cell is detected, to discriminate the data of the memory cell.
When the data of the memory cell is determined, a reference cell in which a predetermined data is written is used. Hereinafter, in order to discriminate the reference cell, there is a case that the cell actually used to store the data is referred to as a data cell of the memory cells. In the MRAM in which the reference cell is provided, the determination of the data in the data cell is carried out by using the reference cell to generate a reference signal and then comparing a data signal obtained from the data cell with the reference signal.
As known in one skilled in the art, one subject of the MRAM lies in the selection property of the memory cell in a write operation. In the traditional MRAM, due to the variation in property of the memory cell, the data is written into half-selection memory cells, namely, the memory cells in which a write current is supplied to only one of the word line and the bit line. This undesirably reduces the reliability in the operation of the MRAM.
One method to improve the selection property in the write operation of the MRAM is a toggle write scheme (refer to U.S. Pat. No. 6,545,906). The toggle write scheme is a technique for carrying out the write operation whose selection property is high, by using SAF (Synthetic Anti-Ferro-Magnet) in the magnetization free layer. Here, the SAF is a structure in which the adjacent ferromagnetic layers composed of a plurality of ferromagnetic layers are magnetically coupled in anti-ferromagnetic manner.
FIG. 1 is a plan diagram showing a typical structure of the MRAM employing the toggle write method. Bit lines 102 and word lines 103 orthogonal to the bit lines 102 extend in a memory array in the MRAM. A magneto-resistance element 101 used as the memory cell is provided at each of positions at which the bit lines 102 and the word lines 103 intersect. As shown in FIG. 2, the magneto-resistance element 101 is composed of a magneto-resistance element, which contains an anti-ferromagnetic layer 111, a magnetization pinned layer 112, a barrier layer 113 and a magnetization free layer 114. As shown in FIG. 1, the magneto-resistance element 101 is arranged such that easy axes of the magnetization pinned layer 112 and the magnetization free layer 114 have the angles of 45 degrees with respect to the bit line 102 and the word line 103, namely, the longitudinal direction of the magneto-resistance element 101 has the angle of 45 degrees with respect to the bit line 102 and the word line 103.
Again, with reference to FIG. 2, the magnetization free layer 114 is composed of ferromagnetic layers 121 and 122 and a non-magnetic layer 123 formed between them. The entire residual magnetization of the magnetization free layer 114 (namely, the entire magnetization of the magnetization free layer 114 when an external magnetic field is 0) is made as close to 0 as possible. This is important, in order to generate a spin flop in the SAF. This condition can be satisfied, for example, by forming the two ferromagnetic layers 121 and 122 so that they are made of the same materials and have the same film thickness.
FIG. 3 is a conceptual diagram showing a procedure of the toggle write. FIG. 4 is a diagram showing the waveforms of the currents, which are supplied through the bit line 102 and the word line 103 when the data write operation is carried out based on the toggle write. In FIG. 3, attention should be paid to the fact that the magnetizations of the ferromagnetic layers 121 and 122 in the magnetization free layer 114 are indicated by symbols M1, M2, respectively.
The data write operation based on the toggle write method is carried out such that the direction of the magnetic field applied to the magnetization free layer 114 is rotated inside a plane and then the magnetizations of the ferromagnetic layers 121 and 122 of the magnetization free layer 114 are reversed by this magnetic field. Specifically, the write current is firstly supplied to the word line 103. Thus, a magnetic field HWL is generated in a direction orthogonal to the word line 103 (time t1). Subsequently, while the write current is supplied through the word line 103, a write current is supplied to the bit line 102 (time t2). Thus, a magnetic field HWL+HBL is generated in the direction having the angle of 45 degrees with respect for both of the word line 103 and the bit line 102. Moreover, while a write current is supplied through the bit line 102, the supply of the write current to the word line 103 is stopped (time t3). Therefore, a magnetic field HBL is generated in the direction orthogonal to the bit line 102 (namely, the direction parallel to the word line 103). Since with such a procedure, the write currents are supplied to the word line 103 and the bit line 102, the magnetic field applied to the magnetization free layer 114 is rotated, which can rotate the magnetizations of the ferromagnetic layers 121 and 122 of the magnetization free layer 114 by 180 degrees.
The remarkable fact lies in the fact that in the data write operation based on the toggle write method, only the reversal of the magnetization can be carried out, namely, only the reversal of the data can be carried out. For example, when a data “0” is written into a certain target memory cell, the data is firstly read from the target memory cell. Only when the read data is “1”, the toggle write is carried out on the target memory cell, and the data “0” is stored in the target memory cell. If the read data is “0”, the write operation into the target memory cell is not carried out.
Similarly to other many memory devices, it is impossible to avoid a data error of a memory cell in the MRAM. For example, it is impossible to avoid a write error in which a desirable data is not written in a write operation and a software error caused due to thermal disturbance, namely, undesirable reversal of the magnetization caused in a probability due to the thermal disturbance.
In order to deal with the generation of such data errors, similarly to other many memory devices, an error correction is desired to be employed even in the MRAM. For example, as disclosed in Japanese Patent Application Publications (JP-P 2003-68096A, JP-P 2003-115195A, JP-P 2003-115197A, JP-P 2005-56556A and JP-P 2005-85464A), in the MRAM employing the error correction, when a data is written, an error correction encoding is carried out on the data, and the data after the error correction encoding is written into a memory array. When the data is read, a syndrome is calculated from the data read from the memory array. When a data error is detected, the data for the error to be corrected is outputted to outside. At this time, the data stored in the memory array is simultaneously corrected.
However, in the error correction in the MRAM, the fact that even if the data error is detected, it must be considered whether it is caused in the data cell or the reference cell is not known. There is a case that the thermal disturbance causes the data written in the reference cell to be undesirably reversed although its probability is low. Thus, when the data error is detected and the data stored in the data cell is corrected, there is a fear that the data is erroneously corrected.
In addition, in the error correction in the MRAM, even if a data error exists in the reference cell, the error correction can be desirably carried out. The data error in the reference cell is easy to be generated as a burst error. However, when the burst error caused due to the data error in the reference cell has influence in an excessively wide range, the error correction becomes impossible.
From the above, the MRAM technique is desired that can correctly carry out an error correction, even if a data error is in any of a data cell and a reference cell.